package net.realsee.service.wcs.rcs.hik;

import net.realsee.domain.wcs.rcs.hik.HikRcsOperateResult;
import net.realsee.domain.wcs.rcs.hik.HikWarnReq;
import net.realsee.domain.wcs.rcs.hik.v4.HikRcsV4AgvCallback;

/**
 * 海康RCS接口V4服务
 *
 * @author 孙正华
 * @since 2023/10/11 15:23
 */
public interface IHikV4Service {

    /**
     * 任务下发接口
     */
    HikRcsOperateResult taskSubmit(String taskCode, String taskType,
                                   String startMapMark, String waitMapMark, String endMapMark, Integer priority);

    /**
     * 继续执行任务
     */
    HikRcsOperateResult taskContinue(String taskCode, String endMapMark);

    /**
     * 取消任务
     */
    HikRcsOperateResult taskCancel(String taskCode);

    /**
     * 设置任务优先级
     */
    HikRcsOperateResult setTaskPriority(String taskCode, Integer priority);

    /**
     * 调整位置
     */
    HikRcsOperateResult adjustPosition(String taskCode, String eqptCode, Integer xOffset, Integer yOffset, Integer angle);

    /**
     * 任务执行回调
     */
    HikRcsOperateResult callback(HikRcsV4AgvCallback param);

    /**
     * 告警推送
     */
    HikRcsOperateResult warnCallback(HikWarnReq param);
}
